package com.xbongbong.paas.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;

/**
 * 阶段流程启用dto
 * @author 李少杰
 * @version v1.0.0
 * @date 2021/11/19 10:09
 */
@Getter
@Setter
@ToString
public class StageProcessEnableDTO extends BaseDTO {

    @NotNull(message = "{dto.msg.processEnable.appId.NotNull}")
    private Long appId;

    @NotNull(message = "{dto.msg.processEnable.formId.NotNull}")
    private Long formId;

    @NotNull(message = "{dto.msg.processEnable.menuId.NotNull}")
    private Long menuId;

    @NotNull(message = "{dto.msg.stageProcessEnable.stageProcessId.NotNull}")
    private Long id;

    @NotNull(message = "{dto.msg.processEnable.enable.NotNull}")
    private Integer enable;

    /**
     * 是否是saas 1：saas  2：paas
     */
    @DecimalMin(value = "1", message = "{dto.msg.processEnable.saasMark.DecimalMin}")
    @DecimalMax(value = "2", message = "{dto.msg.processEnable.saasMark.DecimalMax}")
    @NotNull(message = "{dto.msg.processEnable.saasMark.NotNull}")
    private Integer saasMark;

    /**
     * saas业务类型
     */
    private Integer businessType;

    /**
     * 是否开启阶段推进器多版本启用，0不是，1是
     */
    private Integer stageMultiVersion;

    /**
     * 开启了阶段推进器多版本启用后设置的默认版本
     */
    private Long defaultStageProcessId;
}
